home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 15
/
Aminet 15 - Nov 1996.iso
/
Aminet
/
dev
/
basic
/
ace24dist.lha
/
ace24.lha
/
include
/
ace
/
acedef.h
next >
Wrap
C/C++ Source or Header
|
1996-09-11
|
2KB
|
73 lines
#ifndef ACEDEF_H
#define ACEDEF_H 1
/*
** Note: Fixed the tagmacros, they where totaly wrong
** Sorry about that, I also added some text on
** how to use the macros.
** Date: 10/08/95 Nils Sjoholm
**
**
*/
/* Some useful defines for ACE Basic */
#ifndef EXEC_TYPES_H /* These constants are also defined in exec/types.h. */
Const NULL = 0&
Const TRUE = -1&
Const FALSE = 0&
#endif
/* For drawing boxes and lines */
#define BOX(x1,y1,x2,y2) LINE(x1,y1)-(x2,y2),,B
#define BOXF(x1,y1,x2,y2) LINE(x1,y1)-(x2,y2),,BF
#define DRAWLINE(x1,y1,x2,y2) LINE(x1,y1)-(x2,y2)
/* Some gadgets defines */
#define TEXTGADGET(num,status,default,x1,y1,x2,y2) GADGET num,status,default,(x1,y1)-(x1+x2,y1+y2),BUTTON
#define STRGADGET(num,status,default,x1,y1,x2,y2) GADGET num,status,default,(x1,y1)-(x1+x2,y1+y2),STRING
#define INTGADGET(num,status,default,x1,y1,x2,y2) GADGET num,status,default,(x1,y1)-(x1+x2,y1+y2),LONGINT
#define SLIDERXGADGET(num,status,default,x1,y1,x2,y2) GADGET num,status,default,(x1,y1)-(x1+x2,y1+y2),POTX
#define SLIDERYGADGET(num,status,default,x1,y1,x2,y2) GADGET num,status,default,(x1,y1)-(x1+x2,y1+y2),POTY
/* Some misc defines for windows, printing and drawing */
#define OPENW(num,titel,x1,y1,x2,y2) WINDOW num,titel,(x1,y1)-(x2,y2)
#define PRINTAT(x,y,text) PENUP : SETXY x,y : PRINT text
#define SETRGB(num,r,g,b) PALETTE num,r/15,g/15,b/15
#define RAYTO(x,y) a= XCOR : b= YCOR : PENDOWN : LINE(a,b)-(x,y): PENUP : SETXY a,b
#define MOVETO(x,y) PENUP : SETXY x,y
#define CHECKMARK SPACE$(CheckPlace)
/* To use this tagmacros do like this
DECLARE STRUCT TagItem *tag, *gadtags
You mast have tag here gadtags is just an example
Then do like this
SetUpTags(gadtags,9)
IF gadtags <> NULL THEN
tag = gadtags
SetTag(SomeTag,sometagdata)
SetTag(just keep ON going)
......
SetTagEnd
END IF
Remember that macros are CASE-sensitive
Don't forget to DECLARE AllocateTagItems and FreeTagItems
and free the tags when you don't need them anymore.
Good luck Nils Sjoholm
*/
#define SetUpTags(tagname,num) tagname = AllocateTagItems(num)
#define SetTag(tagvalue,tagdata) tag->ti_Tag = tagvalue \
: tag->ti_Data = tagdata \
: tag = tag + SIZEOF(TagItem)
#define SetTagEnd tag->ti_Tag = TAG_DONE
#endif